#!/bin/bash

# 启动所有微前端应用的脚本

echo "🚀 启动微前端应用..."

# 检查 pnpm 是否安装
if ! command -v pnpm &> /dev/null; then
    echo "❌ pnpm 未安装，请先安装 pnpm: npm install -g pnpm"
    exit 1
fi

# 创建日志目录
mkdir -p logs

# 启动主应用 (端口 3003)
echo "🔧 启动主应用 (main-app)..."
cd main-app
pnpm dev > ../logs/main-app.log 2>&1 &
MAIN_PID=$!
echo "主应用启动中，PID: $MAIN_PID"
cd ..

# 等待一下
sleep 2

# 启动子应用 A (端口 3001)
echo "🔧 启动子应用 A (child-a)..."
cd child-a
pnpm dev > ../logs/child-a.log 2>&1 &
CHILD_A_PID=$!
echo "子应用 A 启动中，PID: $CHILD_A_PID"
cd ..

# 等待一下
sleep 2

# 启动子应用 B (端口 3002)
echo "🔧 启动子应用 B (child-b)..."
cd child-b
pnpm dev > ../logs/child-b.log 2>&1 &
CHILD_B_PID=$!
echo "子应用 B 启动中，PID: $CHILD_B_PID"
cd ..

# 保存进程 ID
echo "$MAIN_PID" > logs/main-app.pid
echo "$CHILD_A_PID" > logs/child-a.pid
echo "$CHILD_B_PID" > logs/child-b.pid

echo ""
echo "✅ 所有应用启动完成！"
echo ""
echo "📋 应用访问地址："
echo "   主应用：http://localhost:3000"
echo "   子应用 A：http://localhost:3001"
echo "   子应用 B：http://localhost:3002"
echo ""
echo "📝 日志文件位置："
echo "   主应用日志：logs/main-app.log"
echo "   子应用 A 日志：logs/child-a.log"
echo "   子应用 B 日志：logs/child-b.log"
echo ""
echo "🛑 停止所有应用："
echo "   执行: ./stop-all.sh"
echo ""
echo "🔍 查看实时日志："
echo "   主应用：tail -f logs/main-app.log"
echo "   子应用 A：tail -f logs/child-a.log" 
echo "   子应用 B：tail -f logs/child-b.log"
echo ""

# 等待一下让应用完全启动
sleep 5

echo "🎉 微前端系统已准备就绪！请访问 http://localhost:3003 开始使用。"